home *** CD-ROM | disk | FTP | other *** search
- #ifndef __EWL_EVENTS_H__
- #define __EWL_EVENTS_H__
-
- /**
- * @file ewl_events.h
- * @defgroup Ewl_Events Events: Lower Level Event Handlers
- * @brief Defines the routines that dispatch the lower level events to EWL.
- *
- * @{
- */
-
- typedef struct Ewl_Event_Window_Expose Ewl_Event_Window_Expose;
-
- /**
- * @struct Ewl_Event_Window_Expose
- * Describes the evas region that received an expose notification.
- */
- struct Ewl_Event_Window_Expose
- {
- int x; /**< Beginning X coordinate for the expose rectangle */
- int y; /**< Beginning Y coordinate for the expose rectangle */
- int w; /**< Width of the expose rectangle */
- int h; /**< Height of the expose rectangle */
- };
-
- typedef struct Ewl_Event_Window_Configure Ewl_Event_Window_Configure;
-
- /**
- * @struct Ewl_Event_Window_Configure
- * Notifies widgets when the enclosing window size has changed.
- */
- struct Ewl_Event_Window_Configure
- {
- int x; /**< Beginning X coordinate of the windows new position */
- int y; /**< Beginning Y coordinate of the windows new position */
- int w; /**< The new width of the window */
- int h; /**< The new height of the window */
- };
-
- typedef struct Ewl_Event_Window_Delete Ewl_Event_Window_Delete;
-
- /**
- * @struct Ewl_Event_Window_Delete
- * Notifies of window close requests.
- */
- struct Ewl_Event_Window_Delete
- {
- int ignore;
- };
-
- typedef struct Ewl_Event_Key_Down Ewl_Event_Key_Down;
-
- /**
- * @struct Ewl_Event_Key_Down
- * Provides clients with necessary information about the key press event.
- */
- struct Ewl_Event_Key_Down
- {
- unsigned int modifiers; /**< Modifiers that were pressed */
- char *keyname; /**< Name of the key that was pressed */
- };
-
- typedef struct Ewl_Event_Key_Up Ewl_Event_Key_Up;
-
- /**
- * @struct Ewl_Event_Key_Up
- * Provides clients with necessary information about the key release event.
- */
- struct Ewl_Event_Key_Up
- {
- unsigned int modifiers; /**< Modifiers that were pressed */
- char *keyname; /**< Name of the key that was released */
- };
-
- typedef struct Ewl_Event_Mouse_Down Ewl_Event_Mouse_Down;
-
- /**
- * @struct Ewl_Event_Mouse_Down
- * Provides information about the mouse down event.
- */
- struct Ewl_Event_Mouse_Down
- {
- unsigned int modifiers; /**< Modifiers that were pressed */
- int button; /**< The mouse button that was pressed */
- int clicks; /**< Number of consecutive clicks */
- int x; /**< X coordinate the mouse press occurred at */
- int y; /**< Y coordinate the mouse press occurred at */
- };
-
- typedef struct Ewl_Event_Mouse_Up Ewl_Event_Mouse_Up;
-
- /**
- * @struct Ewl_Event_Mouse_Up
- * Provides information about the mouse up event.
- */
- struct Ewl_Event_Mouse_Up
- {
- unsigned int modifiers; /**< Modifiers that were pressed */
- int button; /**< The mouse button that was released */
- int x; /**< X coordinate the mouse release occurred at */
- int y; /**< Y coordinate the mouse release occurred at */
- };
-
- typedef struct Ewl_Event_Mouse_Move Ewl_Event_Mouse_Move;
-
- /**
- * @struct Ewl_Event_Mouse_Move
- * Provides information about mouse movement
- */
- struct Ewl_Event_Mouse_Move
- {
- unsigned int modifiers; /**< Modifiers that were pressed */
- int x; /**< X coordinate the mouse moved to */
- int y; /**< Y coordinate the mouse moved to */
- };
-
- typedef struct Ewl_Event_Mouse_In Ewl_Event_Mouse_In;
-
- /**
- * @struct Ewl_Event_Mouse_In
- * Provides information about the mouse entering
- */
- struct Ewl_Event_Mouse_In
- {
- unsigned int modifiers; /**< Modifiers that were pressed */
- int x; /**< X coordinate the mouse entered at */
- int y; /**< Y coordinate the mouse entered at */
- };
-
- typedef struct Ewl_Event_Mouse_Out Ewl_Event_Mouse_Out;
-
- /**
- * @struct Ewl_Event_Mouse_Out
- * Provides information about the mouse leaving
- */
- struct Ewl_Event_Mouse_Out
- {
- unsigned int modifiers; /**< Modifiers that were pressed */
- int x; /**< X coordinate the mouse left at */
- int y; /**< Y coordinate the mouse left at */
- };
-
- typedef struct Ewl_Event_Mouse_Wheel Ewl_Event_Mouse_Wheel;
-
- /**
- * @struct Ewl_Event_Mouse_Wheel
- * Provides information about the mouse wheel scrolling
- */
- struct Ewl_Event_Mouse_Wheel
- {
- unsigned int modifiers; /**< Modifiers that were pressed */
- int x; /**< X coordinate the mouse left at */
- int y; /**< Y coordinate the mouse left at */
- int z; /**< Z value of mouse wheel */
- int dir; /**< Direction mouse wheel scrolled */
- };
-
- typedef struct Ewl_Dnd_Types Ewl_Dnd_Types;
-
- /**
- * @struct Ewl_Dnd_Types
- * Provides type information about an external DND drag
- */
- struct Ewl_Dnd_Types
- {
- int num_types;
- char** types;
-
- };
-
- /**
- * @struct Ewl_Event_Dnd_Drop
- * Provides information about dnd drops movement
- */
- struct Ewl_Event_Dnd_Drop
- {
- int x; /**< X coordinate the mouse moved to */
- int y; /**< Y coordinate the mouse moved to */
- void* data; /**< Data from drop source */
- };
- typedef struct Ewl_Event_Dnd_Drop Ewl_Event_Dnd_Drop;
-
-
-
- typedef struct Ewl_Dialog_Event Ewl_Dialog_Event;
-
- /**
- * @struct Ewl_Dialog_Event
- * Stores the reponse from a dialog
- */
- struct Ewl_Dialog_Event
- {
- unsigned int response;
- };
-
- int ewl_ev_init(void);
- unsigned int ewl_ev_modifiers_get();
- void ewl_ev_modifiers_set(unsigned int modifiers);
-
- /**
- * @}
- */
-
- #endif /* __EWL_EVENTS_H__ */
-